-- LUA 脚本：自增量笔记收藏、取消收藏变更数据咆哮位图判断

local key = KEYS[1] -- 操作的 Redis Key
local noteIdAndNoteCreatorId = ARGV[1] -- Redis Value（必须为整数）

-- 检查咆哮位图是否存在
local exists = redis.call('EXISTS', key)

if exists == 0 then
    -- 如果不存在，初始化一个空的咆哮位图
    redis.call('R.SETBIT', key, noteIdAndNoteCreatorId, 0)
    -- 设置过期时间，一天后过期（20 小时）
    redis.call("EXPIRE", key, 20 * 60 * 60)
end

-- 插入当前 noteIdAndNoteCreatorId 到咆哮位图中，并判断是否已存在
return redis.call('R.GETBIT', key, noteIdAndNoteCreatorId)
